module.exports = grunt =>{  //定义一个模块，并且导出一个函数
    //初始化grunt配置
    grunt.initConfig({
        package: grunt.file.readJSON('package.json'),//读取一个JSON文件将JSON文件转换成（JSON.parse）一个对象
        
        
              
        //定义一个动作：concat连接多个文件为一个文件
        concat:{
            //options动作的选项
            options:{
                banner:'/*智游教育*/\n'
            },
            //动作涉及的文件
            dist:{
                src:['<%=package.srcFiles%>'],
                //要连接的文件
                dest:'js/<%=package.name%>.js'
                //连接后生成的文件
            }
        },
        //压缩JS的动作
        uglify:{
            my_target:{  //目标
                files:{ //涉及的文件
                    'js/<%=package.name%>.min.js':['js/<%=package.name%>.js'] //冒号前面压缩后生成的文件。后面是需要压缩的文件列表
                }
            }
        },
        watch:{      //定义一个监视文件变化的动作
            scripts:{  //监视一组文件，当文件变化时，执行响应的动作或任务
                files:['gruntfile.js','package.json','src/*.js'], //被监视的文件
                tasks:['default']  //当文件变化时要执行的任务
            }
        }
    })
    
    grunt.loadNpmTasks('grunt-contrib-concat')
    grunt.loadNpmTasks('grunt-contrib-uglify')
    grunt.loadNpmTasks('grunt-contrib-watch')
    //加载grunt插件模块包
    
    grunt.registerTask('default',['concat', 'uglify'])
    //注册任务，注册后可以使用名字执行已注册的任务
    //第一个参数：任务名字
    //第二个参数：具体要执行的动作，可以是多个动作按顺序执行
}